To use VSFLEX3 under Windows NT4, you have to have Service Pack 2 or later installed.
Correct function of VSFLEX3 under Windows NT4 without SP2 or later is not guaranteed.
VSFLEX3 now depends of MFC42.DLL. (Version 2 used MFC40.DLL.)
MultiTotals property defaults to True. In version 2 it defaulted to False.
================================================
DOCUMENTATION CHANGES 20 Nov 97
================================================
------------------------------------------------
Manual, page 66, BeforeEdit Event:
The BeforeEdit event occurs after the KeyDown event. Unless the edit mode is canceled by setting the Cancel parameter to True in the BeforeEdite event, KeyDown is not followed by KeyPress but by KeyPressEdit.
------------------------------------------------
Manual, page 118, OutlineBar Property:
Descriptions of flexOutlineBarComplete and flexOutlineBarSimple were accidentally switched.
------------------------------------------------
Manual, page 127, Rows Property:
The stated limitation of 250,000 cells does not apply to the 32 bit version of the control.
------------------------------------------------
Manual, page 134, Subtotal Method, GroupOn%:
Specifies the right boundary of columns that contain the categories for calculation of a subtotal.
By default, the control assumes that all data is sorted from the leftmost column (.Col(0)) to the column specified as GroupOn. Consequently, a subtotaling break occurs whenever there is a change in any column from the leftmost one up to and including the column specified as GroupOn.
To subtotal the flex on a column or a range of columns that does not start with the leftmost column specify the MatchFrom column. If MatchFrom is specified, the control generates subtotal line only on a change of data in any column between and including column MatchFrom and GroupOn.
Example:
To subtotal values in column 3 of the flex on change in column 2 only, use
.Subtotal flexSTSum, 2, 3, , , , , 2
================================================
CORRECTED PROBLEMS 20 Nov 97
================================================
After all subtotals are cleared, flex adds a new row with IsSubtotal True
Behavior after Validate
Bound flex with empty recordset crashes the app under NT
Click on extended area of extended column not processed
ColDataType gives run-timer error Invalid property array index
Contents of checkboxes is not restored
Editor shows one line of edited text only
If recordset has only one row, flex shows only the fixed row and no data
Licensing if EXE has a control array
Numbers in scientific notation not recognized as numerics
OLE drag and drop X, Y, and Effects invalid
OLEDRag extends the selection
================================================
WAIVERS 20 Nov 97
================================================
VSFLEX3 16 bits (Vsflex3-.OCX) does not have the Appearance property.
Waiver: This property is not available to 16 bit OCX controls.
Light FloodColors are shown as white or grey.
Waiver: To use light (non-solid) flooding colors, you have to have screen colors set to more than 256 colors.
================================================
KNOWN PROBLEMS 20 Nov 97
================================================
Validate and AfterEdit events do not fire if form is unloaded by clicking on the control box.
Cause: This is a Windows API problem.
Circumvention: To make sure that these events are fired, if applicable, begin the Form_Unload event with the following two lines:
Me.SetFocus
DoEvents
AutosizeRowHeight with WordWrap = True may be incorrect.
Cause: This is a Windows API problem.
Circumvention: This happens if contents of any of the rows is wider than the column, for example, a very long word in a narrow column.
Make sure that the width of the column is sufficient to accommodate the widest word (depends on the font).
Allow the user resizing of row heights.
After changing the DataMode, control may load wrong number of rows.
Cause: Incorrect recordset passed by the Jet Engine.
Circumvention: After changing DataMode, apply Refresh to the data control.
================================================
End of entries for this build 20 Nov 97
================================================
================================================
INITIAL RELEASE 17 Oct 97
================================================
================================================
NEW FEATURES
================================================
* Supports up to 2 billion rows (32 bits only)
* Supports full data binding (read/write)
* Save content and format of the grid into a file, reload the grid in a second
* Support for custom cell borders
* Checkbox support in individual cells
* Support for OLE Drag and Drop
* Design time designer (Source Code Included)
* Ability to custom draw on any portion of a cell (OwnerDraw)
================================================
VSFLEX DESIGNER
================================================
VSFLEX Designer is a new sample application. Look for it in the \Vs\Vsflex3\Designer directory.
Note that the application is written in VB5; VB4 will report a "corrupted file."
================================================
FLEXUTIL
================================================
FlexUtil is a new sample application. Look for it in the \Vs\Vsflex3\Flexutil directory.
Note that the application is written in VB5; VB4 will report a "corrupted file."
================================================
UNDOCUMENTED PROPERTIES
================================================
------------------------------------------------
Ellipsis Property
------------------------------------------------
Description: Returns or sets whether the control should display the ellipsis (...) after or in strings that cannot be displayed in full length.
Syntax: vsFlexArray.Ellipsis = EllipsisSettings
Settings: Valid settings for the property are:
0 - flexNoEllipsis (default): no ellipsis characters displayed;
1 - flexEllipsisEnd: ellipsis characters displayed at the end of the string;
2 - flexEllipsisPath: disk path-style ellipsis, characters in the middle.
------------------------------------------------
MergeCompare Property
------------------------------------------------
Description: Returns or sets the type of comparison used when merging cells.
0 - flexMCExact (default): exact match required to merge cells;
1 - flexMCNoCase: case-insensitive matching;
2 - flexMCTrimNoCase: case-insensittive matching with leading and trailing blanks ignored.
================================================
WARNINGS AND CAVEATS
================================================
To use VSFLEX3 under Windows NT4, you have to have Service Pack 2 or later installed.
Correct function of VSFLEX3 under Windows NT4 without SP2 or later is not guaranteed.
VSFLEX3 now depends of MFC42.DLL. (Version 2 used MFC40.DLL.)
================================================
DOCUMENTATION CHANGES
================================================
------------------------------------------------
Page 12, Upgrading VSFLEX
A utility to upgrade VSFLEX from version 2 to version 3 is not needed. Setup adds conversion information to the Vb.ini file, and VB provides optional conversion of a project when it is opened.
Should your compiler fail to convert your projects, or if you wish to convert them manually, please follow this procedure:
3. Open your project's Vbp and paste that line over the line referring to VSFLEX2.
4. Open your modified project and run a full compile (Ctrl+F5). Compiler will mark event handlers that refer to rows or columns as erroneous because the existing attribute of the parameter (Integer) does not match the attribute of the parameter of the new component.
5. Change the Row and Col attributes from "Integer" to "Long" in the marked Sub statement.
6. Repeat steps (4) and (5) until you get a clean compile.
------------------------------------------------
Page 58, AllowPageBreak Event
To comply with Windows naming standard, name of the event changed to BeforePageBreak.
Syntax: vsFlexArray.BeforePageBreak(Row As Long, BreakOK As Boolean)
Parameters: Row contains number of a row that is a candidate for being the last one on a page.
BreakOK is initiall True, meaning that is is OK for the Row to be the last one on a page. If you do not want a page break after the Row, set BreakOK to False.
Other information for the event remains unchanged.
------------------------------------------------
Page 70, CellChecked Property
Enumeration has been changed to make it logically consistent.
Values: 0 flexNoCheckbox (default)
1 flexChecked
2 flexUnchecked
Note that expression .CellChecked = False denotes that the cell is not checkable.
Other information for the property remains unchanged.
================================================
CORRECTED PROBLEMS
================================================
Not applicable for the initial release.
================================================
WAIVERS
================================================
VSFLEX3 16 bits (Vsflex3-.OCX) does not have the Appearance property.
Waiver: This property is not available to 16 bit OCX controls.
Light FloodColors are shown as white or grey.
Waiver: To use light (non-solid) flooding colors, you have to have screen colors set to more than 256 colors.
================================================
KNOWN PROBLEMS
================================================
Validate and AfterEdit events do not fire if form is unloaded by clicking on the control box.
Cause: This is a Windows API problem.
Circumvention: To make sure that these events are fired, if applicable, begin the Form_Unload event with the following two lines:
Me.SetFocus
DoEvents
AutosizeRowHeight with WordWrap = True may be incorrect.
Cause: This is a Windows API problem.
Circumvention: This happens if contents of any of the rows is wider than the column, for example, a very long word in a narrow column.
Make sure that the width of the column is sufficient to accommodate the widest word (depends on the font).
Allow the user resizing of row heights.
After changing the DataMode, control may load wrong number of rows.
Cause: Incorrect recordset passed by the Jet Engine.
Circumvention: After changing DataMode, apply Refresh to the data control.